package com.pro.service;

import com.pro.entity.Course;
import com.pro.entity.JsComment;
import com.pro.entity.JsMicrocircle;
import com.pro.entity.Product;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * auther 杨沛琪
 * createDate 2021/11/11
 */
public interface JsCommentService {
    //获取评论数据列表1
    public List<JsComment> getManagementTable(@Param("status")String status);
    //获取前台评论数据类表
    public List<JsComment> getleadingUserTable(@Param("status")String status);
    public int getCounts(@Param("gid") Integer gid);
    public int countCommentNum(@Param("type")Integer type, @Param("userType") String userType,@Param("status") String status,@Param("commentDate") String commentDate);
    //获取评论人数
    public int countPeopleNum(@Param("type")Integer type,@Param("userType") String userType,@Param("status") String status,@Param("commentDate") String commentDate);
    //删除评论
    public  boolean del(@Param("userId") Integer userId);
    //拦截评论
    public boolean intercept(@Param("userId") Integer userId);
    //恢复评论
    public boolean recovery(@Param("userId") Integer userId);

    //后台课程评论
    public List<JsComment> getCourseManagementTable(@Param("status") String status);
    //前台课程评论
    public List<JsComment> getCoureseUserTable(@Param("status") String status);
    /*查看商品详情*/
    public List<Product> getCmmodityInformation(@Param("commodityId") Integer commodityId);
    /*查看课程详情*/
    public List<Course> getCourseInformation(@Param("courseId") Integer courseId);

    //后台微圈评论
    public List<JsComment> getCircleManagementTable(@Param("status")String status);
    //前台微圈评论
    public List<JsComment> getCircleUserTable(@Param("status")String status);
    /*查看微圈详情*/
    public List<JsMicrocircle> getMicrocircleInformation(@Param("id")Integer id);
    /*查看全部商品评论*/
    public List<JsComment> getAllGoodsComments(@Param("commodityId")Integer commodityId,@Param("type")Integer type);
    /*查看前台商品评论*/
    public List<JsComment> getBeforeUserComments(@Param("commodityId")Integer commodityId,@Param("type")Integer type);
    /*隐藏评论*/
    public boolean displayComment(@Param("id")Integer id);
    /*显示评论*/
    public boolean showComment(@Param("id")Integer id);
    /*删除评论*/
    public boolean deleComment(@Param("id")Integer id);
    /*提交评论*/
    public boolean referTo(@Param("userId")Integer userId, @Param("commodityId")Integer commodityId, @Param("type")Integer type, @Param("content")String content, @Param("parentId")Integer parentId, @Param("commentDate")String commentDate, @Param("display")Integer display, @Param("fabulous")Integer fabulous, @Param("status")Integer status, @Param("userType")Integer userType);
    /*查看前台课程评论*/
    public List<JsComment> getAllCourseComments(@Param("commodityId")Integer commodityId,@Param("type")Integer type);
    /*查看后台课程评论*/
    public List<JsComment> getUserCourseComments(@Param("commodityId")Integer commodityId,@Param("type")Integer type);
    /*查看所有前台微圈评论*/
    public List<JsComment> getAllCircleComments(@Param("commodityId")Integer commodityId,@Param("type")Integer type);
    /*查看所有后台微圈评论*/
    public List<JsComment> getUserCircleComments(@Param("commodityId")Integer commodityId,@Param("type")Integer type);

    /*查看个人前台商品评论*/
    public List<JsComment> getUserPersonCommodityComment(@Param("status") String status,@Param("createId")Integer createId);
    /*查看个人商品后台评论*/
    public List<JsComment> getPersonCommodityComment(@Param("status") String status,@Param("createId")Integer createId);
    /*查看个人课程前台评论*/
    public List<JsComment> getUserPersonCourseComment(@Param("status") String status,@Param("createId")Integer createId);
    /*查看个人课程后台评论*/
    public List<JsComment> getPersonCourseComment(@Param("status") String status,@Param("createId")Integer createId);
    /*查看个人微圈前台评论*/
    public List<JsComment> getUserPersonMicroCircleComment(@Param("status") String status,@Param("userId")Integer userId);
    /*查看个人微圈后台评论*/
    public List<JsComment> getPersonMicroCircleComment(@Param("status") String status,@Param("userId")Integer userId);
    //获取商品评论个数
    public int countGoodsCommentNum(@Param("createId")Integer createId,@Param("type")Integer type, @Param("userType") String userType,@Param("status") String status,@Param("commentDate") String commentDate);
    //获取商品评论人数
    public int countGoodsPeopleNum(@Param("createId")Integer createId,@Param("type")Integer type,@Param("userType") String userType,@Param("status") String status,@Param("commentDate") String commentDate);
    //获取课程评论个数
    public int countCourseCommentNum(@Param("createId")Integer createId,@Param("type")Integer type, @Param("userType") String userType,@Param("status") String status,@Param("commentDate") String commentDate);
    //获取课程评论人数
    public int countCoursePeopleNum(@Param("createId")Integer createId,@Param("type")Integer type,@Param("userType") String userType,@Param("status") String status,@Param("commentDate") String commentDate);
    //获取微圈评论个数
    public int countCircleCommentNum(@Param("userId")Integer userId,@Param("type")Integer type, @Param("userType") String userType,@Param("status") String status,@Param("commentDate") String commentDate);
    //获取微圈评论人数
    public int countCirclePeopleNum(@Param("userId")Integer userId,@Param("type")Integer type,@Param("userType") String userType,@Param("status") String status,@Param("commentDate") String commentDate);
}
